Implementation of H.264 encoder and decoder on personal computers
نویسندگان
چکیده
H.264 is an emerging video coding standard, which aims at compressing high-quality video contents at low bit-rates. While the new encoding and decoding processes are similar to many previous standards, the new standard includes a number of new features and thus requires much more computation than most existing standards do. The complexity of H.264 standard poses a large amount of challenges to implementing the encoder/decoder in real-time via software on personal computers. This work analyzes software implementation of H.264 encoder and decoder on general-purpose processors with media instructions and multi-threading capabilities. Specifically, we discuss how to optimize the algorithms of H.264 encoders and decoders on Intel Pentium 4 processors. We first analyze the reference implementation to identify the time-consuming modules, and present optimization methods using media instructions to improve the speed of these modules. After appropriate optimizations, the speed of the codec improves by more than 3x. Nonetheless, the H.264 encoder is still too complicated to be implemented in real-t ime on a single processor. Thus, we also study how to partition the H.264 encoder into multiple threads, which then can be run on systems with multiple processors or multithreading capabilities. We analyze different multi-threading schemes that have different quality/performance, and propose a scheme with good scalability (i.e., speed) and good quality. Our encoder can obtain another 3.8x speedup on a four-processor system or 4.6x speedup on a fourprocessor system with Hyper-Treading Technology. This work demonstrates that hardware-specific algorithm modifications can speed up the H.264 decoder and encoder substantially. The performance improvement techniques on modern microprocessors demonstrated in this work can be applied not only to H.264, but also to other video or multimedia processing applications.
منابع مشابه
Hexagonal Based Search Pattern for Motion Estimation in H.264/AVC
This paper introduces the performance and technical features of the new generation international video coding standard H.264 as well as discusses the implementation and optimization of H.264 on mobile device. Optimization is proposed at algorithm/code-level for both encoder and decoder to make it feasible to perform real-time H.264/AVC video encoding/decoding on mobile device for mobile multime...
متن کاملImplementation of Context Adaptive Variable Length Coder for H.264 Video Encoder
This paper proposes the implementation of context adaptive variable length coder for H.264 video encoder. The implementation is capable of bringing about compression of video sequences as per user specification and is capable of processing high resolution pictures of sizes of up to 1024 x 768 pixels, encoding at a real time frame rate of 25 fps. The variable length coder has been realized using...
متن کاملLow-Complexity Encoding in Block-Based Hybrid Video Codecs by Moving Motion Estimation to Decoder Side
In this paper the authors present an approach to provide efficient low-complexity encoding for the block-based video coding scheme. The authors present a method based on removing the most time-consuming task, that is motion estimation, from the encoder. Instead the decoder will perform motion prediction based on the available decoded frame and send the predicted motion vectors to the encoder. T...
متن کاملMulti-Grain Parallel Accelerate System for H.264 Encoder on ULTRASPARC T2
This paper describes a multi-grain parallel accelerate system for H.264 encoder on UltraSPARC T2 processor. This system integrates pipeline parallelism, frame-level, slice-level, macroblock-level data parallelism and SIMD technology.We use x264, an H.264 video encoder to implement our parallel accelerate system. Our implementation of parallel accelerate system achieves speedup between 10.1x and...
متن کاملInternational Journal of Emerging Trends in Engineering and Development Issue 3, Vol.2 (May 2013) Available online on http://www.rspublication.com/ijeted/ijeted_index.htm ISSN 2249-6149
This paper proposes an FPGA implementation of Integer transform and quantization blocks of H.264 video encoder. The algorithm and architecture of the components of the integer transformation, quantization was developed, designed and coded in VHDL. The above specified blocks of H.264 were coded in Matlab in order to verify the results of VHDL implementation. The processor is implemented on a Xil...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- J. Visual Communication and Image Representation
دوره 17 شماره
صفحات -
تاریخ انتشار 2006